package functional.higherorderfunction;

/**
 * @ClassName ConsumeFunction
 * @PackageName functional.higherOrderFunction
 * @projectName myThread
 * @Description 
 * @Author games
 * @Date 2025/8/26 下午2:25
 * @Version 1.0
 */

import java.util.function.*;

class One {
}

class Two {
}

public class ConsumeFunction {
    /**
     * 消费函数，接受一个从One到Two的转换函数，并应用该函数
     *
     * @param onetwo 从One对象转换为Two对象的函数
     * @return 转换函数执行后的Two对象结果
     */
    static Two consume(Function<One, Two> onetwo) {
        return onetwo.apply(new One());
    }

    public static void main(String[] args) {
        // 调用consume函数，传入一个lambda表达式将One对象转换为Two对象
        Two two = consume(one -> new Two());
    }

}